package com.attendcollatesys.entity;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.attendcollatesys.util.ExcelDateConvertUtil;

import java.util.Date;

/**
 * add by gzl
 */
//加班请假表的导入不额外建立实体类 采用mybatis与easyexcel公用一个实体类
//lombok注解 与easyexcel有冲突 会造成easyexcel 在处理标注了index的实体类无法读取指定列的值 返回null  这里暂时手动生成get set
//@Data
//@Accessors(chain = true)
@ExcelIgnoreUnannotated  //没有标注ExcelProperty注解的 不参与easyexcel的读写
public class ATLeaveExtraDetail {
    /** 申请单号 */
    @ExcelProperty(index = 0)
    private String requestNumber;

    /** 被申请人工号 */
    @ExcelProperty(index = 1)
    private String sectionMID;

    /** 外包姓名 */
    @ExcelProperty(index = 2)
    private String name;

    /** RTX账号 */
    @ExcelProperty(index = 3)
    private String rtxNumber;

    /** 归属厂商 */
    @ExcelProperty(index = 4)
    private String manufacturers;

    /** 岗位 */
    @ExcelProperty(index = 5)
    private String post;

    /** 职级 */
    @ExcelProperty(index = 6)
    private String jobRank;

    /** 服务处室 */
    @ExcelProperty(index = 7)
    private String serviceOffices;

    /** 项目经理 */
    @ExcelProperty(index = 8)
    private String projectManager;

    /** 申请类型 */
    @ExcelProperty(index = 9)
    private String applicationType;

    /** 起始日期 */
    @ExcelProperty(index = 10,converter = ExcelDateConvertUtil.DateConverterY.class)
    private Date startDay;

    /** 加班起始时间 */
    @ExcelProperty(index = 11)
    private String startTime;

    /** 请假起始类型 */
    @ExcelProperty(index = 12)
    private String leaveStartType;

    /** 截至日期 */
    @ExcelProperty(index = 13,converter = ExcelDateConvertUtil.DateConverterY.class)
    private Date deadlineDay;

    /** 加班完成时间 */
    @ExcelProperty(index = 14)
    private String completionTime;

    /** 请假截至类型 */
    @ExcelProperty(index = 15)
    private String deadlineType;

    /** 备注 */
    @ExcelProperty(index = 16)
    private String memo;

    /** 申请人 */
    @ExcelProperty(index = 17)
    private String applicant;

    /** 申请时间 */
    @ExcelProperty(index = 18,converter = ExcelDateConvertUtil.DateConverterY.class)
    private Date applicationTime;

    /** 审批完成时间 */
    @ExcelProperty(index = 19,converter = ExcelDateConvertUtil.DateConverterY.class)
    private Date completedTime;

    /** 申请内容 */
    @ExcelProperty(index = 20)
    private String applicationDetail;

    /** 入库日期 */
    private Date makeDate;

    /** 入库时间 */
    private String makeTime;

    /** 备用字段1 */
    private String standbyflag1;

    /** 备用字段2 */
    private String standbyflag2;

    /** 备用字段3 */
    private String standbyflag3;

    public String getRequestNumber() {
        return requestNumber;
    }

    public void setRequestNumber(String requestNumber) {
        this.requestNumber = requestNumber;
    }

    public String getSectionMID() {
        return sectionMID;
    }

    public void setSectionMID(String sectionMID) {
        this.sectionMID = sectionMID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRtxNumber() {
        return rtxNumber;
    }

    public void setRtxNumber(String rtxNumber) {
        this.rtxNumber = rtxNumber;
    }

    public String getManufacturers() {
        return manufacturers;
    }

    public void setManufacturers(String manufacturers) {
        this.manufacturers = manufacturers;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public String getJobRank() {
        return jobRank;
    }

    public void setJobRank(String jobRank) {
        this.jobRank=jobRank;
    }

    public String getServiceOffices() {
        return serviceOffices;
    }

    public void setServiceOffices(String serviceOffices) {
        this.serviceOffices = serviceOffices;
    }

    public String getProjectManager() {
        return projectManager;
    }

    public void setProjectManager(String projectManager) {
        this.projectManager = projectManager;
    }

    public String getApplicationType() {
        return applicationType;
    }

    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }

    public Date getStartDay() {
        return startDay;
    }

    public void setStartDay(Date startDay) {
        this.startDay = startDay;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getLeaveStartType() {
        return leaveStartType;
    }

    public void setLeaveStartType(String leaveStartType) {
        this.leaveStartType = leaveStartType;
    }

    public Date getDeadlineDay() {
        return deadlineDay;
    }

    public void setDeadlineDay(Date deadlineDay) {
        this.deadlineDay = deadlineDay;
    }

    public String getCompletionTime() {
        return completionTime;
    }

    public void setCompletionTime(String completionTime) {
        this.completionTime = completionTime;
    }

    public String getDeadlineType() {
        return deadlineType;
    }

    public void setDeadlineType(String deadlineType) {
        this.deadlineType = deadlineType;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getApplicant() {
        return applicant;
    }

    public void setApplicant(String applicant) {
        this.applicant = applicant;
    }

    public Date getApplicationTime() {
        return applicationTime;
    }

    public void setApplicationTime(Date applicationTime) {
        this.applicationTime = applicationTime;
    }

    public Date getCompletedTime() {
        return completedTime;
    }

    public void setCompletedTime(Date completedTime) {
        this.completedTime = completedTime;
    }

    public String getApplicationDetail() {
        return applicationDetail;
    }

    public void setApplicationDetail(String applicationDetail) {
        this.applicationDetail = applicationDetail;
    }

    public Date getMakeDate() {
        return makeDate;
    }

    public void setMakeDate(Date makeDate) {
        this.makeDate = makeDate;
    }

    public String getMakeTime() {
        return makeTime;
    }

    public void setMakeTime(String makeTime) {
        this.makeTime = makeTime;
    }

    public String getStandbyflag1() {
        return standbyflag1;
    }

    public void setStandbyflag1(String standbyflag1) {
        this.standbyflag1 = standbyflag1;
    }

    public String getStandbyflag2() {
        return standbyflag2;
    }

    public void setStandbyflag2(String standbyflag2) {
        this.standbyflag2 = standbyflag2;
    }

    public String getStandbyflag3() {
        return standbyflag3;
    }

    public void setStandbyflag3(String standbyflag3) {
        this.standbyflag3 = standbyflag3;
    }
}
